package com.itheima.mapper;

import com.github.pagehelper.Page;
import com.itheima.dto.ClassQueryRequest;
import com.itheima.pojo.Clazz;
import org.apache.ibatis.annotations.*;

import java.util.List;
import java.util.Map;

@Mapper
public interface ClassMapper {
    Page<Clazz> getClazzsByNameAndTime(ClassQueryRequest classQueryRequest);

    @Insert("insert into clazz(name, room, begin_date, end_date, master_id, subject,create_time,update_time) values (#{name},#{room},#{beginDate},#{endDate},#{masterId},#{subject},#{createTime},#{updateTime})")
    void insert(Clazz clazz);

    @Select("select * from clazz where id=#{id}")
    Clazz getById(Integer id);

    @Update("update clazz set name=#{name},room=#{room},begin_date=#{beginDate},end_date=#{endDate},master_id=#{masterId},subject=#{subject} where id=#{id}")
    void update(Clazz clazz);

    @Delete("delete from clazz where id=#{id}")
    void deleteById(Integer id);

    @Select("select * from clazz ")
    List<Clazz> getClazzs();

    List<Map<String,Object>> queryClazzCount();

    List<Map<String, Object>> queryDegreeData();
}
